1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular, to the use of a relational database management system that supports on-line analytical processing.
2. Description of Related Art
Relational DataBase Management System (RDBMS) software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
RDBMS software has typically been used with databases comprised of traditional data types that are easily structured into tables. However, RDBMS products do have limitations with respect to providing users with specific views of data. Thus, xe2x80x9cfront-endsxe2x80x9d have been developed for RDBMS products so that data retrieved from the RDBMS can be aggregated, summarized, consolidated, summed, viewed, and analyzed. However, even these xe2x80x9cfront-endsxe2x80x9d do not easily provide the ability to consolidate, view, and analyze data in the manner of xe2x80x9cmulti-dimensional data analysis.xe2x80x9d This type of functionality is also known as on-line analytical processing (OLAP).
OLAP generally comprises numerous, speculative xe2x80x9cwhat-ifxe2x80x9d and/or xe2x80x9cwhyxe2x80x9d data model scenarios executed by a computer. Within these scenarios, the values of key variables or parameters are changed, often repeatedly, to reflect potential variances in measured data. Additional data is then synthesized through animation of the data model. This often includes the consolidation of projected and actual data according to more than one consolidation path or dimension.
Data consolidation is the process of synthesizing data into essential knowledge. The highest level in a data consolidation path is referred to as that data""s dimension. A given data dimension represents a specific perspective of the data included in its associated consolidation path. There are typically a number of different dimensions from which a given pool of data can be analyzed. This plural perspective, or Multi-Dimensional Conceptual View, appears to be the way most business persons naturally view their enterprise. Each of these perspectives is considered to be a complementary data dimension. Simultaneous analysis of multiple data dimensions is referred to as multi-dimensional data analysis.
OLAP functionality is characterized by dynamic multi-dimensional analysis of consolidated data supporting end user analytical and navigational activities including:
calculations and modeling applied across dimensions, through hierarchies and/or across members;
trend analysis over sequential time periods; slicing subsets for on-screen viewing;
drill-down to deeper levels of consolidation;
reach-through to underlying detail data; and
rotation to new dimensional comparisons in the viewing area.
OLAP is often implemented in a multi-user client/server mode and attempts to offer consistently rapid response to database access, regardless of database size and complexity. While some vendors have proposed and offered OLAP systems that use RDBMS products as storage managers, to date these offerings have been unsuccessful for a variety of reasons.
In particular, performance of some OLAP systems that use a RDBMS is largely limited by the ability of the underlying RDBMS to insert large numbers of rows. Generally, relational databases are designed to optimize aggregate throughput of inserted data among many connections. In some systems, the RDBMS uses very large transactions on a single connection to insert data into tables of a star schema. The use of a single transaction limits the ability of the RDBMS to exploit all available system resources. As a result, there is a need in the art for an enhanced technique for using RDBMS products as storage managers for OLAP systems.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method, apparatus, and article of manufacture for improved performance of table insertion by using multiple tables or multiple threads.
According to an embodiment of the invention, a command is executed in a computer to perform a database operation on a relational database stored on a data store connected to the computer. A multi-dimensional database is represented as a relational schema in the relational database, wherein the relational schema includes one or more base tables, related dimension tables, and a key table. Each of the base tables and the key table is accessed concurrently to perform the database operation.